* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.videoClip {
  width: 100dvw;
  height: 100dvh;
  display: flex;
  flex-flow: column nowrap;
  background-color: #353535;
  .videoClipHeader {
    width: 100%;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    background: linear-gradient(to right, #ffeb3b, #ff9800);
    color: #fff;
    .logo {
      display: flex;
      align-items: center;
      .logoImg {
        margin-right: 10px;
        border-radius: 50%;
        background-color: #8d8787;
        padding: 5px;
        i {
          font-size: 35px;
          color: #fff;
        }
      }
      .toolName {
        h1 {
          font-size: 23px;
        }
        h2 {
          font-size: 18px;
        }
      }
    }
  }
  .videoClipBody {
    flex: auto;
    .videoTip {
      display: grid;
      gap: 10px;
      padding: 0px 10px 10px;
      grid-auto-flow: column;
      grid-auto-columns: max-content;
      .item {
        border-radius: 15px;
        padding: 3px 10px;
        span {
          margin-left: 5px;
        }
      }
    }
    .videoPlayer {
      position: relative;
      box-shadow: 1px 1px 5px 5px #e3e3e3;
      width: 100%;
      border-radius: 10px;
      margin: 0 auto;
      .video {
        width: 100%;
        display: block;
        object-fit: contain;
        image-rendering: -webkit-optimize-contrast;
        /* Chrome/Safari */
        image-rendering: crisp-edges;
        /* Firefox */
        image-rendering: pixelated;
        /* 像素风格 */
        transform: translateZ(0);
        /* 启用GPU加速 */
      }
      .paintArea {
        position: absolute;
        left: 0;
        top: 0;
        canvas {
          pointer-events: none;
          will-change: transform;
        }
      }
    }
    .videoAction {
      padding: 0 20px;
      color: #fff;
      
      .progress {
        width: 100%;
        .progress_info {
          display: flex;
          justify-content: space-between;
        }
      }
    }
    .control {
      display: flex;
      align-items: center;
      width: 100%;
      margin: 10px auto 0;
      .basicControl {
        flex: 0 1 25%;
        margin-right: 20px;
        border: 1px solid #c99e39;
        border-radius: 10px;
        background-color: #f8e19c;
        .title {
          text-align: center;
          line-height: 40px;
        }
        .tool {
          padding: 0 20px 10px;
          .action {
            display: flex;
            justify-content: space-between;
            span {
              display: inline-block;
              width: 18px;
              height: 18px;
              vertical-align: sub;
              cursor: pointer;
              margin-right: 10px;
            }
            .prev {
              background: url("./images/icon_PREV-grey.png") center no-repeat;
              background-size: 94%;
              &:hover {
                background: url("./images/icon_PREV-hover.png") center no-repeat;
                background-size: 94%;
              }
            }
            .next {
              background: url("./images/icon_NEXT-grey.png") center no-repeat;
              background-size: 94%;
              &:hover {
                background: url("./images/icon_NEXT-hover.png") center no-repeat;
                background-size: 94%;
              }
            }
            .isPlay {
              background: url("./images/icon_play-grey.png") center no-repeat;
              background-size: 94%;

              &:hover {
                background: url("./images/icon_play.png") center no-repeat;
                background-size: 94%;
              }
            }
            .isPause {
              background: url("./images/icon_pause-grey.png") center no-repeat;
              background-size: 94%;

              &:hover {
                background: url("./images/icon_pause.png") center no-repeat;
                background-size: 94%;
              }
            }
          }
          .volume {
            display: flex;
            align-items: center;
            >div {
              display: inline-block;
              width: 110px;
            }
            >span {
              display: inline-block;
              width: 18px;
              height: 18px;
              vertical-align: sub;
              cursor: pointer;
              margin-right: 20px;
            }
            .isUnmute {
              background: url("./images/icon_volume-grey.png") center no-repeat;
              background-size: 100% 100%;
              &:hover {
                background: url("./images/icon_volume.png") center no-repeat;
                background-size: 100% 100%;
              }
            }
            .isMute {
              background: url("./images/icon_mute-grey.png") center no-repeat;
              background-size: 100% 100%;
              &:hover {
                background: url("./images/icon_mute-hover.png") center no-repeat;
                background-size: 100% 100%;
              }
            }
          }
        }   
      }
      .capture {
        flex: 0 1 30%;
        border: 1px solid #c99e39;
        border-radius: 10px;
        background-color: #f8e19c;
        height: -webkit-fill-available;
        .title {
          text-align: center;
          line-height: 40px;
        }
        .tool {
          display: flex;
          align-items: center;
          padding-bottom: 5px;
          i {
            flex: auto;
            font-size: 25px;
            color: #909399;
            text-align: center;
            cursor: pointer;
            &:hover, &.active {
              color: #FFAE0D;
            }
          }
        }
      }
    }
    .aroundFrame {
      border: 1px solid #c99e39;
      border-radius: 10px;
      margin-top: 10px;
      padding: 10px;
      width: 100%;
      margin: 10px auto 0;
      .aroundFrameList {
        display: grid;
        width: 100%;
        overflow-x: auto;
        grid-template-columns: repeat(auto-fit, 120px);
        gap: 5px;
        white-space: normal;
        height: 67.5px;
      }
    }
    .paintTool {
      position: absolute;
      right: 0;
      top: 0;
      width: calc((100% - 800px) / 2);
      height: 617px;
    }
    .frameContainer {
      width: 100%;
      flex: auto;
      box-shadow: 0px 1px 5px 1px;
      padding: 0 50px;
    }
    .captureListContainer {
      height: 100%;
      background-color: #e6a999;
      .title {
        display: flex;
        align-items: center;
        padding: 10px 20px;
        .layoutControl {
          display: flex;
          margin: 5px;
          > div {
            padding: 0 5px;
            line-height: 23px;
            background-color: rgb(214, 171, 137);
            cursor: pointer;
            &.active {
              background-color: rgb(240, 107, 6);
            }
            &:not(:last-child) {
              border-right: 1px solid #eee;
            }
          }
        }
      }
      ul {
        height: calc(100dvh - 136px);
        overflow-y: auto;
        padding: 20px;
        list-style: none;
        background-color: #fff;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        align-items: start;
        li {
          position: relative;
          .controlArea {
            position: absolute;
            right: 0;
            top: 0;
            width: 100%;
            height: 25px;
            background-color: rgba(0, 0, 0, 0.6);
            display: flex;
            justify-content: flex-end;
            padding: 5px 10px;
            z-index: 0;
            i {
              margin-left: 5px;
              color: #909399;
              cursor: pointer;
              &:hover {
                color: #FFAE0D;
              }
            }
          }
          &:hover .controlArea {
            z-index: 1;
          }
        }
      }
      .emptyImg {
        width: 100%;
        height: calc(100dvh - 136px);
        position: relative;
        :global {
          .el-image {
            width: 50%;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
          }
        }
      }
    }
  }
  .loading {
    position: fixed;
    left: 0;
    top: 0;
    width: 100dvw;
    height: 100dvh;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.6);
    .progress {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      :global {
        .el-progress__text {
          color: #FFAE0D;
        }
      }
      span {
        margin-top: 20px;
        display: block;
        color: #FFAE0D;
      }
    }
  }
}
